/* 全局字体设置 - 统一字体大小为12px */ 
/* body, .layui-body, .layui-layer, .layui-btn, .layui-input, .layui-form-select dl, .layui-table {  font-size: 12px; align-items: center; }  */
/* 响应式弹窗设置 */ 
        body {
            font-family: "Microsoft YaHei", sans-serif;
            padding: 15px;
            background-color: #f2f2f2;
            height: 100vh;
            overflow: hidden;
            font-size: normal;
        }
        .layer-font {
            font-size: small;
        }

        .container {
            background-color: white;
            padding: 15px;
            border-radius: 5px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            height: calc(100vh - 40px);
            display: flex;
            flex-direction: column;
        }

        .table-container {
            flex: 1;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            min-height: 0;
        }

        .table-wrapper {
            flex: 1;
            overflow: auto;
            border: 1px solid #e6e6e6;
            margin-bottom: 15px;
        }

        .layui-table {
            width: 100%;
            margin-bottom: 10;
        }

        .layui-table th {
            text-align: center;
            font-weight: bold;
            font-size: small;
            background-color: #f8f8f8;
            position: sticky;
            top: 0;
            z-index: 10;
        }

        .layui-table td {
            padding: 8px 12px;
            font-size: small;
        }

        .total-row {
            font-weight: bold;
            background-color: #e6f7ff !important;
            position: sticky;
            bottom: 0;
            z-index: 10;
        }

        .manual-row {
            background-color: #f6ffed !important;
        }

        .delete-btn {
            cursor: pointer;
        }

        .loading-mask {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 0.8);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 9999;
        }

        .button-container {
            flex-shrink: 0;
            padding-top: 15px;
            border-top: 1px solid #f0f0f0;
            text-align: center;
        }

        .status-indicator {
            display: inline-block;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            margin-right: 5px;
        }

        .status-saved {
            background-color: #5FB878;
        }

        .status-unsaved {
            background-color: #FF5722;
        }

        /* 弹出窗口专用样式 */
        .dialog-input-group {
            display: flex;
            align-items: center;
            margin-bottom: 18px;
            min-height: 36px;
        }

        .dialog-input-prefix {
            width: 80px;
            padding-right: 12px;
            text-align: right;
            font-weight: bold;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .dialog-input-content {
            flex: 1;
            display: flex;
            align-items: center;
        }

        .input-with-unit {
            display: flex;
            align-items: center;
            flex: 1;
        }

        .input-with-unit input {
            flex: 1;
        }

        .input-with-unit .unit {
            width: 60px;
            padding-left: 10px;
            white-space: nowrap;
        }

        .dialog-textarea-group {
            display: flex;
            margin-bottom: 15px;
            align-items: flex-start;
        }

        .dialog-textarea-prefix {
            width: 80px;
            padding-right: 12px;
            text-align: right;
            font-weight: bold;
            white-space: nowrap;
            flex-shrink: 0;
            padding-top: 8px;
        }

        .dialog-textarea-content {
            flex: 1;
        }



@media (max-width: 800px) { .layui-layer { width: 90% !important; left: 5% !important; } }

/* 小屏幕设备 */
@media screen and (max-width: 768px) {
  body {
    font-size: small;
  }
  
  .layui-container {
    padding: 0 10px;
  }
}

/* 中等屏幕设备 */
@media screen and (min-width: 769px) and (max-width: 1200px) {
  body {
    font-size: normal;
  }
}

/* 大屏幕设备 */
@media screen and (min-width: 1201px) and (max-width: 1600px) {
  body {
    font-size: medium;
  }
}

/* 超大屏幕设备 */
@media screen and (min-width: 1601px) {
  body {
    font-size: large;
  }
}

/* 针对特定元素的响应式字体 */
.responsive-text {
  font-size: 1rem; /* 使用rem单位，基于根元素字体大小 */
}

.responsive-title {
  font-size: 1.5rem;
  font-weight: bold;
}